/**
 * 在 Chrome 扩展的 background.js 中，通过 chrome.tabs.query() 方法获取到的 tabs 对象中并不包含当前活动标签页的 DOM 内容或 JavaScript 函数。chrome.tabs.query() 方法主要用于获取标签页的基本信息，比如标签页的 URL、ID 等。
*如果你需要获取当前活动标签页的 DOM 内容或执行其中的 JavaScript 函数，你需要借助 Chrome 扩展的 Content Script。Content Script 可以直接访问和操作当前页面的 DOM，以及执行其中的 JavaScript 代码。
*你可以在 Content Script 中使用 document 对象来访问当前页面的 DOM 结构，并执行其中的 JavaScript 函数。Content Script 运行在页面的上下文中，因此可以访问页面的 DOM 和 JavaScript。
 * 
 */

const tag = "background.js";
const table_id=0;
console.log(tag, "init");
// 监听来自 Popup 页面的消息
chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
  console.log(tag, "[接收] " + request.message);
 // console.log(tag, "tabs=", chrome.tabs)
  // 做出响应
  console.log(tag, "[应答] ","我是Background++++++++.");
  sendResponse({ message: "我是Background++++++++." });
  // // 获取当前活动的标签页
  chrome.tabs.query({ active: true, currentWindow: true }, function (tabs) {
    // 获取当前标签页的内容
    // tabs 是一个数组，包含匹配的标签页信息
    if (tabs && tabs.length > 0) {
      // 获取第一个匹配的标签页
      let activeTab = tabs[0];

      // 获取当前标签页的 ID
      let tabId = activeTab.id;

      // 获取当前标签页的 URL
      let tabUrl = activeTab.url;

      // 可以在这里执行针对当前标签页的操作
      console.log('当前标签页的 ID：', tabId);
      console.log('当前标签页的 URL：', tabUrl);

     this.table_id = tabId;
    }
  });
});




window.send=function()
{
  // 发送消息到 Content Script，但popup.js未收到消息
  chrome.tabs.query({ active: true, currentWindow: true }, function (tabs) {
    if (tabs && tabs.length > 0)
    {
      this.table_id =  tabs[0].id;
    }
    if(this.table_id!=0)
    {
      chrome.tabs.sendMessage(this.table_id, { message: "Background==>你们好！！！" });
    }
  });
}

window.send2=function()
{
  // 发送消息到popup.js
  chrome.runtime.sendMessage({ message: "Background==>你好-popup" });
}